The invention finds an application in intelligent network architectures, for example. In intelligent network architectures, or in any other sophisticated telecommunication architecture, the use of service access control mechanisms as filters based on the identity of the caller, the geographical area of the caller or the time of the call is known in the art. It is also possible to implement call forwarding, either unconditionally or conditionally on the identity of the caller, the geographical area of the caller, the time of the call, etc. Clearly it is not possible to provide an exhaustive list of access controls.
Each service can use one or more access controls. A description of each service is therefore needed in terms of the access controls that it wishes to use.
In the case of basic telephony in particular, it is necessary to provide a description of the access controls that each telecommunication network user wishes to use.
It is also necessary to be able to add new access controls and to modify existing access controls, in particular to improve them.
For example, at a given time a user may decide to add a filter mechanism based on the identity of the caller because of repetitive nuisance calls from a particular caller.
At present, access controls are generally coded within a service call management system in a static form. To be more precise, the supplier of the system ships a complete platform with no facility for evolution. Accordingly, if there were no provision for it from the outset, installing a new access control would be costly because it would make it necessary to redevelop part of the system.
What is more, the suppliers of the software modules implementing the access controls are not necessarily the same as the suppliers of the architecture for executing the modules, and the resulting interworking generates a high additional cost.
A second prior art solution consists of describing the behavior of the system for each user (or more generally for each service) in a description language such as CPL (Call Processing Language). The description of each user can invoke each existing access control, and adding a new access control entails modifying the description of the users concerned so as to invoke the new access control.
This solution is no more satisfactory, however, since by its very nature a description language offers only limited possibilities and does not cater for the most advanced services.
For example, a language like CPL cannot invoke a database directly or invoke software modules developed in another language, i.e. software components that can execute autonomously (for example code compiled or interpreted by a Java virtual machine).